-
-
Notifications
You must be signed in to change notification settings - Fork 6k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Update project structure for simplicity and fixing carthage #1422
Conversation
@danielgindi, @liuxuan30 what do you guys think? I like this a lot and it makes contributing much easier. 1 project, 1 target, simple. |
to confirm, I just check out the branch, and ChartsDemo needs to run "carthage bootstrap" first to get Realm and continue compile right? |
ya anything realm based will need a carthage bootstrap. everything else should work as before |
guess let @danielgindi review the structures. |
run |
git clean work on my side, thanks |
Is this pull request going to be accepted? Would love to be able to use Charts without Realm dependancies. |
@petester42 Also - will people be able to build the project without Carthage? |
Ya will do no problem. As far as just hitting run, for Charts its fine. For ChartsRealm there is a carthage dependency and as discussed in #1119 there is no real good solution. So contributors will have to run I might create scripts in the future to simplify the process so the contributor will just run an init script and have the project setup automatically done for them. |
I'm gonna merge this to make the swift 3.0 version ready. |
👍 |
By the way, Realm should point to |
Realm 1.1.0 should be Swift 3.0 now?
|
A while ago a came across a post that greatly simplifies how many targets we need for multiple platforms. So basically the removes the need for a different target for each platform so now there is only 2, Charts and ChartsRealm.
This change address two issues having to do with Carthage (#1326 and #1119).
This first change is removing the prebuilt binaries inside of the ChartsRealm project and replacing them with ones that come from Carthage when running "carthage bootstrap" or "carthage update". There has been a lot talk in #1119 about the possible solutions and to me this seems to be the best for now. This means that contributors wanting to update the ChartsRealm project will have to have Carthage install and run "carthage bootstrap" to get the Realm dependencies. A note in the CONTRIBUTING.md should be added for newcomers.
The second change sort of goes hand in hand with the first. It changes how ChartsRealm requires Charts.framework in order to work with Carthage. Having the two targets inside the same project and having a Carthage.xcconfig telling carthage where to look for dependencies seems to address the Carthage issues that have been seen.
I believe this addresses most of the Carthage issues. It seems to work consistently now. And it is now more streamlined, 1 target for all platforms!